Dieser Kurs widmet sich in zwei Teilen den Packern/Archivern. Im ersten Teil werde ich die meistverbreitetsten Packer kurz vorstellen und einen Geschwindigkeitsvergleich machen. Im zweiten Teil geht es um die Bedienung und die Optionen.
Der Standard-Packer auf dem Amiga ist wohl LhA. Die meistgenutzte Portierung stammt von Stefan Boberg. Leider entwickelt er den Amiga-Port nicht mehr weiter, so daß die letzte Version V1.38 (unreg.) von 1992 ist.
Der Unix-LhA-Sourcecode ist zwar frei erhältlich, so daß ein einfaches recompilen kein Problem sein sollte, allerdings hatte Stefan noch starke Optimierungen für den Amiga gemacht. Desweiteren unterstützt diese Portierung noch die Amiga-Dateikommentare und Schutzbits.
LhA ist Shareware. Leider gab Stefan Boberg trotz eingestellter Entwicklung den Key nicht frei. Ob überhaupt noch Registrierungen angenommen werden, ist mir nicht bekannt, jedoch halte ich es für sehr unwahrscheinlich.
Ein Zusatztool zu LhA bzw. als Feature der registrierten Version gab/gibt es noch LhASFX, mit dem man SelFeXtracting (dt. selbstentpackende) Archive erstellen kann/konnte. Jedoch soll die verwendete Routine des Tools fehlerhaft sein, so daß ich von der Verwendung stark abraten würde.
Postfix der Archive: .lha
LZX hätte der Standard-Packer werden können. Leider verkaufte der Entwickler Jonathan Forbes (zusammen mit Tomi Poutanen) den Algorithmus und damit verlor leider der Amiga (mal wieder) ein wirklich gutes Programm. Insbesondere der LZX-2 Algorithmus wäre sehr interessant geworden. Wer die Käufer waren, überlasse ich der Fantasy des nicht-informierten Lesers. :-) oder meines Erachtens eher ;-((
Vor ein paar Tagen konnte J. Forbes jedoch zumindest überredet werden, das LZX-Keyfile der Allgemeinheit zur Verfügung zu stellen, so daß auch die registrierte Version von LZX benutzt werden kann. Die letzte Version ist V1.21(r).
Postfix der Archive: .lzx
Auf dem PC eigentlich DER Standardarchiver. Seine Packraten sind sehr gut. Der ZIP-Algorithmus hat verschiedene Anwendung gefunden, einmal als der hier erwähnte Archiver, desweiteren noch in GZIP und für den Amiga gibt es noch die ebenfalls erwähnenswerte XPKGZIP.library für das bekannte XPK-Paket.
Postfix der Archive: .zip
Dieses Gespann stammt aus der Unix-Welt. Tar ist ein reiner Filearchiver ohne Kompression. Mit Hilfe von tar werden die verschiedene Files zusammengefügt (nein, es ist kein Join-Kommando). Das entstehende Tar-Archive wird dann meist mit GZip gepackt.
Die umgekehrte Reihenfolge (erst GZip, dann Tar) ist weniger sinnvoll, da dann GZip nur fileweise komprimieren kann, während sonst ja ein fileübergreifendes Komprimieren stattfindet, was teils zu erheblich besseren Kompressionsraten führen kann.
Aufgrund der Unix-Abstammung sind auch die Amiga-Portierungen etwas umständlich zu bedienen. Die Bedienung und Optionen werden im zweiten Kursteil besprochen.
Falls jemand einen einfachen Entpacker für Tar/GZIP Archive benötigt, sollte er sich UnTGZ von Oliver Wagner anschauen.
Postfix der Archive: .tgz
.tar.gzip
Eine weitere Unix-Abstammung, die jedoch nur einen einfacheren Algorithmus zum Komprimieren benutzt. Eine Amiga-Portierung existiert, jedoch läßt sich sich der Unix-Sourcecode auch portieren.
Postfix der Archive: .Z
Arj ist ein im PC-Sektor recht verbreiteter Packer. Für den Amiga gibt es jedoch nur einen Entpacker. Arj wurde 1990-93 von Robert Jung entwickelt, die Amiga-Protierung stammt von Andreas Kleinert.
Postfix der Archive: .arj
Und noch ein aktueller PC-Archiver, für den es nur ein Unpack-Programm für den Amiga gibt. Das UnRAR stammt von Eugene Roshal und die Amiga-UnRAR-Portierung stammt von Andrea Vallinotto und unterstützt jedoch keine SFX-Archive.
Postfix der Archive: .rar
Eigentlich nicht direkt in diese Gruppe gehört das XPK-Paket, das aber doch erwähnenswert ist. :)
Das XPK-Paket bietet mit der XPKMaster.library eine einheitliche Schnittstelle für Programmierer zu den Sublibraries, die dann die einzelnen Komprimierungs- und Verschlüsselungsalgorithemen implementieren.
Dadurch läßt sich ein Programm relativ einfach für viele verschiedene Komprimierungen anpassen und dann kann der User je nach Ausstattung und Vorliebe einen Packer aussuchen. Einige bekannte Beispiel für die XPK-Sublibs sind:
Unter den alten Vertretern der Archiver findet sich zoo. Von der Verwendung von zoo ist sehr abzuraten, stattdessen sollte LhA oder LZX verwendet werden. Die PC-Version stammt von Rahul Dhesi (1988), die Amiga-Portierung machte J. Brian Walters.
Postfix der Archive: .zoo
Ein *sehr* alter Archiver, der vermutlich aus der Zeit von 1985/86/87 stammt. Wer noch arc-Files bei sich rumliegen hat, wird vermutlich diesen Artikel nicht brauchen und besser darüber Bescheid wissen, als ich. :)
Autoren: Raymond S. Brand und/oder System Enhancement Associates
Postfix der Archive: .arc
DMS, das Disk-Masher-System, ist kein Filearchiver, sondern, wie der Name schon sagt, für ganze Disketten da. DMS packt eine Diskette blockweise. Es gibt verschiedene Versionen von DMS. Die Hauptunterscheidung bestehen zwischen der älteren, orginalen Version von SDS Software und der späteren, als DMS-Professional bezeichneten, von ParCon.
Da DMS (Pro) ganze Diskette packt und die Disketten-Struktur beibehält, wurde er hauptsächliche für Demos und Raubkopien verwendet, da er manche Kopierschutzmechanismen umging. Ob DMS Pro von ParCon-Software eine legale Fortführung von DMS ist, ist dem Autor nicht bekannt.
Da zur heutigen Festplatten-Zeit Programme sowieso auf Festplatte installierbar sein müssen, ist von der Verwendung von DMS abzuraten, da für Filearchive LhA/LZX besser geeignet sind. Auch von der Verwendung der FMS (File-Masher-System) und SFX-Funktion des DMS Pro ist abzuraten.
Postfix der Archive: .dms
Zum Abschluss noch ein Geschwindigkeitsvergleich. Der Test wurde auf einem A2000/040/33MHz gemacht. Die Größe der verwendeten Daten stehen bei. Zum Test habe ich nur die am häufigsten verwendeten Archiver genommen, für die eine Amiga-Portierung existiert.
Packen | Entpacken | |||||||
---|---|---|---|---|---|---|---|---|
LhA | LZX | ZIP | GZip | LhA | LZX | ZIP | GZip | |
Text (30KB) | 3sec 33% |
3sec 33% |
3sec 33% |
3sec 33% |
1sec | 1sec | 1sec | 1sec |
Text (1.2MB) | 36sec 50% |
70sec 38% |
50sec 41% |
51sec 41% |
17sec | 12sec | 15sec | 15sec |
GIF | 2sec 100% |
2sec 100% |
2sec 100% |
2sec 100% |
1sec | 1sec | 2sec | 2sec |
jpeg | 13sec 100% |
10sec 99% |
8sec 100% |
7sec 100% |
6sec | 4sec | 4sec | 4sec |
Binaer (51KB) | 3sec 40% |
5sec 33% |
4sec 38% |
3sec 38% |
2sec | 1sec | 2sec | 1sec |
binaer (759KB) | 24sec 56% |
34sec 49% |
33sec 54% |
29sec 55% |
14sec | 13sec | 11sec | 10sec |
alle Dateien (ca. 2.3MB) | 67sec 51% |
120sec 48% |
91sec 51% |
n/a | 39sec | 32sec | 39sec | n/a |
Anmerkung:Die oben angegebenen Werte wurden mit einem A2000/040 erstellt und können bestenfalls als Näherung gelten. Beim Packen wurde jedesmal der beste Packalgorithmus, der zur Verfügung stand, verwendet. Bei einer geringeren Packratio ist z.B. LZX schneller und kann mit LhA konkurrieren. Desweiteren kam es beim Entpacken der Zip-Archive manchmal zu Checksummenfehlern. Ob dies an einem Fehler im Zip, UnZip oder ein Bedienungsfehler(??) vorlag, war nicht festzustellen. Der Autor vermutet, dass vielleicht ein Bug im verwendeten Zip-Programm vorliegt. (Nicht mit GZip zu verwechseln!)
![]() |
Inhaltsverzeichnis | ![]() |
©`97Der AmZeiger |